<?php

namespace System\Configure;

/**
 * 配置接口类
 *
 * @package Dream
 * @subpackage Config
 * @namespace System\Configure
 * @author lewis (lewisld@yeah.net)
 */
interface ConfigInterface
{

    /**
     * 获取配置项值
     *
     * @access public
     * @param string $key 配置项键名，多个键名之间以“.”分隔
     * @param mixed $default 默认值，当配置项不存在或为空时有效
     * @return mixed 返回配置项值
     */
    public function get($key, $default = null);

    /**
     * 设置配置项
     *
     * @access public
     * @param string $key 配置项键名，多个键名之间以“.”分隔
     * @param mixed $value 配置项值
     * @return void 没有返回值
     */
    public function set($key, $value);

    /**
     * 检索配置项是否存在
     *
     * @access public
     * @param string $key 配置项键名，多个键名之间以“.”分隔
     * @param mixed $value 配置项值
     * @return bool 如果配置项存在就返回“true”，否则返回“false”
     */
    public function exist($key);
}
